<?php

class RobotRequest {
  
  /**
   *
   * @var UserAttribute[] $attributes
   */
  public $attributes = null;
  
  /**
   *
   * @var int $maxReturn
   */
  protected $maxReturn = null;
  
  /**
   *
   * @var string[] $modules
   */
  protected $modules = null;
  
  /**
   *
   * @var string $question
   */
  protected $question = null;
  
  /**
   *
   * @var string $sessionId
   */
  protected $sessionId = null;
  
  /**
   *
   * @var string[] $tags
   */
  protected $tags = null;
  
  /**
   *
   * @var string $userId
   */
  protected $userId = null;

  /**
   *
   * @param int $maxReturn          
   */
  public function __construct($maxReturn) {
    $this->maxReturn = $maxReturn;
  }

  /**
   *
   * @return UserAttribute[]
   */
  public function getAttributes() {
    return $this->attributes;
  }

  /**
   *
   * @param UserAttribute[] $attributes          
   * @return RobotRequest
   */
  public function setAttributes(array $attributes = null) {
    $this->attributes = $attributes;
    return $this;
  }

  /**
   *
   * @return int
   */
  public function getMaxReturn() {
    return $this->maxReturn;
  }

  /**
   *
   * @param int $maxReturn          
   * @return RobotRequest
   */
  public function setMaxReturn($maxReturn) {
    $this->maxReturn = $maxReturn;
    return $this;
  }

  /**
   *
   * @return string[]
   */
  public function getModules() {
    return $this->modules;
  }

  /**
   *
   * @param string[] $modules          
   * @return RobotRequest
   */
  public function setModules(array $modules = null) {
    $this->modules = $modules;
    return $this;
  }

  /**
   *
   * @return string
   */
  public function getQuestion() {
    return $this->question;
  }

  /**
   *
   * @param string $question          
   * @return RobotRequest
   */
  public function setQuestion($question) {
    $this->question = $question;
    return $this;
  }

  /**
   *
   * @return string
   */
  public function getSessionId() {
    return $this->sessionId;
  }

  /**
   *
   * @param string $sessionId          
   * @return RobotRequest
   */
  public function setSessionId($sessionId) {
    $this->sessionId = $sessionId;
    return $this;
  }

  /**
   *
   * @return string[]
   */
  public function getTags() {
    return $this->tags;
  }

  /**
   *
   * @param string[] $tags          
   * @return RobotRequest
   */
  public function setTags(array $tags = null) {
    $this->tags = $tags;
    return $this;
  }

  /**
   *
   * @return string
   */
  public function getUserId() {
    return $this->userId;
  }

  /**
   *
   * @param string $userId          
   * @return RobotRequest
   */
  public function setUserId($userId) {
    $this->userId = $userId;
    return $this;
  }
}
